/**

 @Name：layuiAdmin 视频系统
 @Author：star1029
 @Site：http://www.layui.com/admin/
 @License：LPPL
    
 */


layui.define(['table', 'form'], function(exports){
  var $ = layui.$
  ,admin = layui.admin
  ,view = layui.view
  ,table = layui.table
  ,form = layui.form;
  //小视频管理
  table.render({
    elem: '#LAY-video_small-list'
    ,url: '/admin/video/video_small' //模拟接口
    ,headers: {token: '4b36adc7ff355357'}
    ,cols: [[
      {field: 'id', width: 100, title: 'ID', sort: true}
      ,{field: 'sort', width: 80, title: '排序', sort: true}
      ,{field: 'cate_name',width: 100, title: '分类'}
      ,{field: 'status', title: '封面图片', templet: '#fm_imgTpl', width: 100, align: 'center'}
      ,{field: 'title', title: '文章标题', minWidth: 100}
      ,{field: 'author', width: 100,title: '作者'}
      ,{field: 'report_num', title: '举报数', width: 100, align: 'center',sort: true}
      ,{field: 'time_free', width: 180,title: '限时免费', sort: true}
      ,{field: 'createtime', width: 180,title: '上传时间', sort: true}
      ,{field: 'status', title: '发布状态', templet: '#buttonTpl', width: 100, align: 'center'}
      ,{title: '操作', width: 150, align: 'center', fixed: 'right', toolbar: '#table-content-list'}
    ]]
    ,page: true
    ,limit: 10
    ,limits: [10, 15, 20, 25, 30]
    ,text: '对不起，加载出现异常！'
  });

  //监听工具条
  table.on('tool(LAY-video_small-list)', function(obj){
    var data = obj.data;
    if(obj.event === 'del'){
      layer.confirm('确定删除此小视频？', function(index){
        var id = obj.data.id; //获取提交的字段
        admin.req({
          url: '/admin/video/del_video_small' //实际使用请改成服务端真实接口
          ,type: 'post'
          ,data: {id:id}
          ,headers: {token: '4b36adc7ff355357'}
          ,done: function(res){
            layer.msg(res.msg);
            // layui.table.reload('LAY-video-list');
            table.reload('LAY-video_small-list', {
              page: {
                curr: 1 //重新从第 1 页开始
              }
            });
          }
        });
        // obj.del();
        layer.close(index);
      });
    } else if(obj.event === 'edit'){
      admin.popup({
        title: '编辑视频'
        ,area: ['100%', '100%']
        ,id: 'LAY-popup-content-edit'
        ,success: function(layero, index){
          view(this.id).render('video/video_smallform', data).done(function(){
            //加载模块
            layui.use(['jquery', 'formSelects'], function(){
              var formSelects = layui.formSelects;
              formSelects.render();
            });
            layui.use('laydate', function() {
              var laydate = layui.laydate;
              laydate.render({
                elem: '#test6'
                , type: 'datetime'
                ,min:0
              });
            });
            jQuery(function() {
              var $ = jQuery,
                  // 优化retina, 在retina下这个值是2
                  ratio = window.devicePixelRatio || 1,

                  // 缩略图大小
                  thumbnailWidth = 100 * ratio,
                  thumbnailHeight = 100 * ratio,

                  // Web Uploader实例
                  uploader;
              // 初始化Web Uploader
              uploader = WebUploader.create({
                // 自动上传。
                auto: true,
                duplicate:true,
                formData: {upload_path:'/uploads/video_fm',file_type:'image'},
                compress:false,
                // swf文件路径
                swf: '/public/webuploader/Uploader.swf',
                // 文件接收服务端。
                server: 'http://jieshuodiapi.com/image.php',
                // 选择文件的按钮。可选。
                // 内部根据当前运行是创建，可能是input元素，也可能是flash.
                pick: '#filePicker',
                // 只允许选择文件，可选。
                accept: {
                  title: 'Images',
                  extensions: 'gif,jpg,jpeg,bmp,png,webp',
                  mimeTypes: 'image/*'
                }
              });

              // 当有文件添加进来的时候
              uploader.on( 'fileQueued', function( file ) {
                // 创建缩略图
                uploader.makeThumb( file, function( error, src ) {
                  if ( error ) {
                    $('#filePicker img').replaceWith('<span>不能预览</span>');
                    return;
                  }

                  $('#filePicker img').attr( 'src', src );
                }, thumbnailWidth, thumbnailHeight );
              });

              // 文件上传过程中创建进度条实时显示。
              uploader.on( 'uploadProgress', function( file, percentage ) {
                layer.load(1, {shade: [0.8, '#393D49']})//上传loading
              });

              // 文件上传成功，给item添加成功class, 用样式标记上传成功。
              uploader.on( 'uploadSuccess', function( file ,response) {
                //$( '#'+file.id ).addClass('upload-state-done');
                if(response.code==0 && response.src){
                  layer.msg('上传成功');
                  $('.path').val(response.src);
                }else{
                  layer.alert('上传失败');
                }
              });
              // 文件上传失败，现实上传出错。
              uploader.on( 'uploadError', function( file ) {
                layer.closeAll('loading'); //关闭loading
                //$error.text('上传失败');
                layer.alert('上传失败');
              });

              // 完成上传完了，成功或者失败，先删除进度条。
              uploader.on( 'uploadComplete', function( file ) {
                layer.closeAll('loading'); //关闭loading
              });
            });
            jQuery(function() {
              var $ = jQuery,
                  // 优化retina, 在retina下这个值是2
                  ratio = window.devicePixelRatio || 1,

                  // 缩略图大小
                  thumbnailWidth = 100 * ratio,
                  thumbnailHeight = 100 * ratio,

                  // Web Uploader实例
                  uploader;
              // 初始化Web Uploader
              uploader = WebUploader.create({
                // 自动上传。
                auto: true,
                duplicate:true,
                formData: {upload_path:'/uploads/video_fm',file_type:'image'},
                compress:false,
                // swf文件路径
                swf: '/public/webuploader/Uploader.swf',
                // 文件接收服务端。
                server: 'http://jieshuodiapi.com/image.php',
                // 选择文件的按钮。可选。
                // 内部根据当前运行是创建，可能是input元素，也可能是flash.
                pick: '#filePicker1',
                // 只允许选择文件，可选。
                accept: {
                  title: 'Images',
                  extensions: 'gif,jpg,jpeg,bmp,png,webp',
                  mimeTypes: 'image/*'
                }
              });

              // 当有文件添加进来的时候
              uploader.on( 'fileQueued', function( file ) {
                // 创建缩略图
                uploader.makeThumb( file, function( error, src ) {
                  if ( error ) {
                    $('#filePicker1 img').replaceWith('<span>不能预览</span>');
                    return;
                  }

                  $('#filePicker1 img').attr( 'src', src );
                }, thumbnailWidth, thumbnailHeight );
              });

              // 文件上传过程中创建进度条实时显示。
              uploader.on( 'uploadProgress', function( file, percentage ) {
               // layer.load(1, {shade: [0.8, '#393D49']})//上传loading
              });

              // 文件上传成功，给item添加成功class, 用样式标记上传成功。
              uploader.on( 'uploadSuccess', function( file ,response) {
                //$( '#'+file.id ).addClass('upload-state-done');
                if(response.code==0 && response.src){
                  layer.msg('上传成功');
                  $('.rec_path').val(response.src);
                }else{
                  layer.alert('上传失败');
                }
              });
              // 文件上传失败，现实上传出错。
              uploader.on( 'uploadError', function( file ) {
                layer.closeAll('loading'); //关闭loading
                //$error.text('上传失败');
                layer.alert('上传失败');
              });

              // 完成上传完了，成功或者失败，先删除进度条。
              uploader.on( 'uploadComplete', function( file ) {
                //layer.closeAll('loading'); //关闭loading
              });
            });
            var m3u8_time=$('.m3u8_time').val();
            var m3u8_width=$('.m3u8_width').val();
            var m3u8_height=$('.m3u8_height').val();
            var m3u8_status=2;
            if($('.m3u8').is(':checked')){
              m3u8_status=1;
            }
            var uploader = WebUploader.create({
              // swf文件路径
              swf: 'public/webuploader/Uploader.swf',
              auto: true,
              duplicate:true,
              formData: {upload_path:'/uploads/video',file_type:'video',m3u8_time:m3u8_time,m3u8_width:m3u8_width,m3u8_height:m3u8_height,m3u8_status:m3u8_status},
              // 文件接收服务端。
              server: 'http://jieshuodiapi.com/image.php',
              // 选择文件的按钮。可选。
              // 内部根据当前运行是创建，可能是input元素，也可能是flash.
              pick: '#picker',
              //chunked : false, // 是否分片
              //duplicate:true,//去重， 根据文件名字、文件大小和最后修改时间来生成hash Key.
              // chunkSize : 52428 * 100, // 分片大小， 5M
              // 不压缩image, 默认如果是jpeg，文件上传前会压缩一把再上传！
              resize: false
            });
            $('.webuploader-pick:eq(2)').css('background','#00b7ee');
            $list = $('#thelist');
            // 当有文件被添加进队列的时候
            uploader.on( 'fileQueued', function( file ) {
              $list.append( '<div id="' + file.id + '" class="item">' +
                  '</div>' );
            });

            // 文件上传过程中创建进度条实时显示。
            uploader.on( 'uploadProgress', function( file, percentage ) {
              var $li = $( '#'+file.id ),
                  $percent = $li.find('.progress .progress-bar');

              // 避免重复创建
              if ( !$percent.length ) {
                $percent = $('<div class="progress progress-striped active">' +
                    '<div class="progress-bar" role="progressbar" style="width: 0%;">' +
                    '</div>' +
                    '</div>').appendTo( $li ).find('.progress-bar');
              }

              $li.find('p.state').text('上传中');

              $percent.css( 'width', percentage * 100 + '%' );
              //layer.load(1, {shade: [0.8, '#393D49']})//上传loading
            });
            uploader.on( 'uploadSuccess', function( file,response ) {
              if(response.code==0 && response.src){
                layer.msg('上传成功');
                $('.url').val(response.src);
                //$('.video_time').val(response.video_time);
                var http_url=$('.http').val();
                $('.video_url').attr('src',http_url+response.src);
                var videoObject = {
                  container: '#video',//“#”代表容器的ID，“.”或“”代表容器的class
                  variable: 'player',//该属性必需设置，值等于下面的new chplayer()的对象
                  autoplay:true,//自动播放
                  video:http_url+response.src//视频地址
                };
                var player=new ckplayer(videoObject);
              }else{
                layer.alert('上传失败');
              }
              $( '#'+file.id ).find('p.state').text('已上传');
              //layer.closeAll('loading'); //关闭loading
            });

            uploader.on( 'uploadError', function( file ) {
              $( '#'+file.id ).find('p.state').text('上传出错');
              //layer.closeAll('loading'); //关闭loading
            });

            uploader.on( 'uploadComplete', function( file ) {
              $( '#'+file.id ).find('.progress').fadeOut();
            });
            form.render(null, 'layuiadmin-video_small-form-list');

            //监听提交
            form.on('submit(layuiadmin-video_small-form-submit)', function(data){
              var field = data.field; //获取提交的字段


              //提交 Ajax 成功后，关闭当前弹层并重载表格
              admin.req({
                url: '/admin/video/edit_video_small' //实际使用请改成服务端真实接口
                ,type: 'post'
                ,data: field
                ,headers: {token: '4b36adc7ff355357'}
                ,done: function(res){
                  layer.msg(res.msg);
                  if(res.code==0){
                    layer.close(index); //执行关闭
                  }
                  layui.table.reload('LAY-video_small-list'); //重载表格
                }
              });

            });
          });
        }
      });
    }
  });
  exports('video', {})
});